package com.zb.kc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zb.kc.entity.EduCourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.kc.entity.vo.CourseInfoVo;
import com.zb.kc.entity.vo.CoursePublishVo;
import com.zb.kc.entity.vo.CourseQueryVo;
import com.zb.kc.entity.vo.CourseWebVo;

import java.util.List;

/**
 * <p>
 * 课程 服务类
 * </p>
 *
 * @author wanggen
 * @since 2020-04-10
 */
public interface IEduCourseService extends IService<EduCourse> {

    /**
     * 添加课程基本信息
     * @param courseInfoVo
     */
    String saveCourseInfo(CourseInfoVo courseInfoVo);

    CoursePublishVo getCoursePublishById(String courseId);

    Page<CourseInfoVo> getPageCourseInfoVo(Page<CourseInfoVo> page, CourseInfoVo courseInfoVo);

    void deleteCourseCascade(String courseId);

    List<EduCourse> getHotCourse();

    List<EduCourse> getCourseByTeacherId(String id);

    Page<EduCourse> pageListWeb(Page<EduCourse> page, CourseQueryVo courseQueryVo);

    CourseWebVo selectInfoWebById(String courseId);

    /**
     * 更新课程浏览数
     * @param id
     */
    void updatePageViewCount(String id);
}
